package cn.lanqiao.system.mapper;

import cn.lanqiao.common.entity.Order;
import cn.lanqiao.common.vo.OrderFilmVo;
import cn.lanqiao.system.vo.OrderDetailVo;
import cn.lanqiao.system.vo.OrderVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface OrderMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Order record);

    int insertSelective(Order record);

    Order selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    //修改订单状态
    int updateOrderStatus(@Param("id") Integer id, @Param("status") Integer status);

    //查询所有订单
    List<OrderVo> getAllOrder();

    //查询订单
    List<OrderVo> getInformation(@Param("orderCode") String orderCode, @Param("userPhone") String userPhone);

    //根据 orderId 获取订单详情
    List<OrderDetailVo> getOrderDetailByOrderId(Integer orderId);

    //根据 userId 获取用户个人订单
    List<OrderDetailVo> getOrderByUserId(Integer userId);
    //获取最大订单编号
    String getMaxOrderCode();
    //获取最大orderId
    Integer getMaxOrderId();
    //按场次id查询订单
    List<Order> findByOrderId(Integer id);

    //按用户id查看订单详情
    List<OrderFilmVo> find(Integer id);

}